home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clue.lha / clue / doc / release.text < prev    next >
Text File  |  1989-07-12  |  10KB  |  216 lines

  1.  
  2.  
  3.                   Common Lisp User Interface Environment (CLUE)
  4.                                         
  5.                                   Release Notes
  6.  
  7.             Copyright (C) 1988, 1989, Texas Instruments Incorporated
  8.  
  9.  
  10. VERSION 
  11.         
  12.         6.0
  13.  
  14.  
  15. RELEASE DATE
  16.  
  17.         July, 1989
  18.  
  19. GENERAL
  20.  
  21.         CLUE (Common Lisp User Interface  Environment) is a portable  system for
  22.         user interface programming in Common Lisp.  CLUE, which is based on  the
  23.         X Window System and  the Common Lisp  Object System (CLOS),  extends the
  24.         CLX interface to provide an architectural model for the construction  of
  25.         interactive Lisp applications.  Modelled on the Xt toolkit library, CLUE
  26.         could be described  as a  translation of  the Xt  "intrinsics" into  the
  27.         domain of Common Lisp and CLOS.
  28.  
  29.         This portable implementation of  CLUE is available  to the public  at no
  30.         charge.  Anyone interested may receive source code and documentation via
  31.         anonymous  ftp  from   CSC.TI.COM,  (internet   address  10.7.0.46)   in
  32.         pub/clue.tar.Z.  CLUE sources are  also included as  part of the  public
  33.         distribution  of  the  X   Window  System,  Version   11;  see directory
  34.         contrib/toolkits/clue.
  35.  
  36.         General comments  and  CLUE  issue  discussion  should  be  addressed to
  37.         clue-review@dsg.csc.ti.com (im4u!ti-csl!dsg!clue-review).  This  mailing
  38.         list is a forum for ideas and experiences concerning CLUE in particular,
  39.         and Lisp user interface programming in general.  The clue-review list is
  40.         public; to subscribe,  send a  message containing  your email address to
  41.         clue-review-request@dsg.csc.ti.com.
  42.  
  43.         Problem reports and fixes are welcome and should be addressed either  to
  44.         clue-review or to clue-bugs@dsg.csc.ti.com  (im4u!ti-csl!dsg!clue-bugs).
  45.         The clue-bugs list is not public and contains only members of TI's  CLUE
  46.         develoment team.  Therefore, messages of the form "I'm running with  Foo
  47.         Common Lisp and I don't understand why (clue:erehwon) isn't working" are
  48.         best sent to clue-review.  Problem  reports should specify the  versions
  49.         of Common Lisp, CLOS, CLX, and CLUE being used.
  50.  
  51.  
  52. RELATED SYSTEMS
  53.  
  54.         CLUE may  be  installed  without  change  in  TI  Explorer and Symbolics
  55.         environments.  Other configurations (including Lucid, Allegro, and  KCL)
  56.         are in progress but have not yet been fully tested.
  57.  
  58.         Please note that CLUE depends on X11 R3 CLX features and bug fixes  (see
  59.         X11 R3 distribution, directory  lib/CLX).  The version  of CLX found  on
  60.         CSC.TI.COM in pub/clx.tar.Z is also sufficient to support CLUE.  Be sure
  61.         to review other information found in clue/doc/release-notes.text.
  62.  
  63.  
  64. PREVIOUS RELEASE
  65.  
  66.     1.15 (September, 1988)
  67.  
  68.  
  69. SPECIFICATION CHANGES
  70.         
  71. 2.1     contact-callbacks defined as a :reader for the callbacks slot.
  72.  
  73.         contact-parent   slot   redefined   with   :accessor   option.     (setf
  74.         contact-parent) can be used to reparent a contact.  See sec.  4.1.
  75.  
  76.         contact-name slot initform removed.  The  default value of this  slot is
  77.         now defined to be (class-name (class-of contact)).
  78.  
  79.         contact-background slot redefined with :accessor option.
  80.         
  81.  
  82. 2.1.2   contact-state  is  now  (member   :withdrawn  :managed  :mapped).    The
  83.         :withdrawn state is equivalent to the previous nil state.
  84.  
  85. 2.1.3   change-geometry, change-priority:  These  now  treat  top-level contacts
  86.         specially, in order  to interact  properly with  window manager geometry
  87.         management.
  88.  
  89.         destroy: The primary contact method for destroy now invokes the :destroy
  90.         callback  of  the  destroyed  contact  and  each  of  its   descendants.
  91.         Application  programmers  can  define  :destroy  callback  functions  to
  92.         implement "existence" constraints or similar application semantics.
  93.  
  94. 2.1.4   New characteristic function added: preferred-size.
  95.  
  96. 2.1.5   Support added for multiple callback  functions.  More than one  function
  97.         can be associated with a contact  callback name.  Because the format  of
  98.         the callbacks slot  has changed,  any use  of the  :callbacks initarg to
  99.         make-contact  must   be   updated.    In   addition,  the  interface  to
  100.         delete-callback  has  changed.   For  purposes  of  compatibility,   the
  101.         previous delete-callback interface  remains valid  temporarily but  will
  102.         cause an error in future releases.  If delete-callback is called without
  103.         a callback-function  argument,  then  all  functions associated with the
  104.         given callback name are deleted.
  105.  
  106. 2.2     A  :constraints  option  to  defcontact  allows  the  specification   of
  107.         constraint resources.  See  sec.  6.5  for a  description of  the use of
  108.         constraint resources.
  109.  
  110. 3.1     open-contact-display: The default value for the display argument is  now
  111.         the special variable  *default-display*.  The  default-root argument  is
  112.         now called default-screen, with  default value 0.   A new class  keyword
  113.         argument is added.  The class argument defines the resource class of the
  114.         application as  a  whole;  class  defaults  to  the  value  of  the name
  115.         argument.
  116.  
  117. 3.3     The defaction and call-action macros have been removed.  Actions are now
  118.         ordinary functions (possibly  generic) and  no longer  inhabit a special
  119.         function name space.  For purposes of compatibility, both defaction  and
  120.         call-action remain  implemented  temporarily  but  will  disappear  in a
  121.         future release.
  122.  
  123.         The set of built-in contact actions has changed:
  124.  
  125.                 callback        renamed: perform-callback
  126.                 describe        renamed: describe-action
  127.                 eval            renamed: eval-action
  128.                 funcall-method  removed
  129.                 funcall         renamed: apply-action
  130.                 restrict        renamed: ignore-action
  131.                 throw           renamed: throw-action
  132.                 trace           renamed: trace-action
  133.  
  134.         Each of these is now  a generic function with  a method defined for  the
  135.         contact class.
  136.  
  137. 3.8.1   An event specification syntax for :client-message events is defined.
  138.         
  139. 3.8.2   An accessor  is  defined  for  setting  the  check  function  for  event
  140.         specification keywords.  This  allows implementation  alternatives other
  141.         than the keyword symbol property formly required.
  142.  
  143. 3.8.4   Timeout controls for  recognizing multipress  events are  now defined as
  144.         contact-display attributes, rather than as global variables.  New global
  145.         variables are defined to initialize default values for timeout controls.
  146.  
  147. 3.8.6   Motion compression no longer discards :enter-/leave-notify events.  This
  148.         feature was removed  because it  cannot be  implemented reliably without
  149.         intervention by the application.
  150.  
  151. 4.1     composite: new shells slot (:reader only).  This slot contains a list of
  152.         the shells owned by the composite.  See sec.  4.5.
  153.  
  154. 4.2     New function added: initialize-geometry.
  155.  
  156. 4.3     move-focus: the direction argument is now optional (defaults to  :next).
  157.         Since this  function  may  now  be  used  as  an  action  directly,  the
  158.         definition of a move-focus action was removed.
  159.  
  160. 4.4     Typos corrected: the resource name of  a root is a keyword  symbol (e.g.
  161.         :SCREEN-<index>).  Footnote 3 now reads "screen-index = (position screen
  162.         (xlib:display-roots contact-display))".
  163.  
  164. 4.5     This new section describes  shell contacts, a  base class for  top-level
  165.         contacts that control interclient communication with a window manager or
  166.         session manager.
  167.  
  168. 6.2     Typo corrected: Footnote 2 now reads "The class symbol for a contact  is
  169.         the value of (class-name (class-of contact))."
  170.  
  171. 6.5     This new section explains contact class resources and contact constraint
  172.         resources.
  173.  
  174.  
  175. FIXES
  176.         
  177. 1.      A contact  can  now  be  initialized  to  be unmapped-and-unmanaged (use
  178.         :state :withdrawn).  See Specification Changes, 2.1.2.
  179.  
  180. 2.      Complete names/classes  now  contain  the  correct  application and root
  181.         name/class symbols, as described in the specification.
  182.  
  183. 3.      The :defaults option to make-contact now works correctly.
  184.  
  185. 4.      The contact-background accessor is now exported to the CLUE package.
  186.  
  187. 5.      default-resources now works correctly.
  188.  
  189. 6.      handle-event:  top-level  window  support  for   :configure-notify, etc.
  190.         moved from contact to wm-shell method.  Note: all top-level windows must
  191.         now be  shell  instances.   wm-shell  geometry  management  now provides
  192.         correct window manager interaction for client-requested changes.
  193.  
  194. 7.      The background of a root contact is now :none.
  195.         
  196. 8.      Root contact  objects  are  correctly  associated  with  the root window
  197.         resource id, so that events to the root window are properly dispatched.
  198.  
  199. 9.      The  composite   method   for   manage-geometry   now   will  not accept
  200.         non-positive width or height.
  201.  
  202. 10.     inside-contact-p now recognizes (0,*) and (*,0) as inside points.
  203.  
  204.  
  205.         
  206. KNOWN BUGS
  207.  
  208.  
  209. 1.      Modal input needs to be defined.
  210.  
  211. 2.      The implementation of interactive-stream is not portable.
  212.  
  213. 3.      Resource bindings with names of the form (* something) may not be  found
  214.         during contact  initialization.   This  is  caused  by  an R3 CLX bug in
  215.         get-search-table.   Work  around   by  respecifying   as  (application *
  216.         something).